/*
 * @file    constructor.cpp
 * @author  Luo ZhiHui <camel.flying@gmail.com>
 * @version 1.0
 *
 * @section LICENSE
 *
 *
 * @section DESCRIPTION
 *
 *
 */
#include <iostream>
#include <string>

class base
{
    public:
        base()
        {
            std::cout << "base" << std::endl;
        }
        base(int value)
        {
            std::cout << value << " value Base" << std::endl;
        }
        virtual ~base()
        {
            std::cout << "~base" << std::endl;
        }
};

class Inher: public base
{
    public:
        Inher():base(2)
        {
            std::cout << "Inher" << std::endl;
        }
        Inher(int value):base(value)
        {
            std::cout << "value Inher" << std::endl;
        }
        ~Inher()
        {
            std::cout << "~Inher" << std::endl;
        }
};

int main(int argc, char **argv)
{
    Inher inher;

    Inher inher2(2);
    return 0;
}
